﻿using Commons.Models.Locks;
using Commons.Models.TradeValues;
using System;
using System.Collections.Generic;

namespace Commons.Commons.Models.Definitions
{
    public class QuestionDefinition
    {
        public int Id { get; protected set; }
        public int CorrectAnswerId { get; protected set; }
        public List<QuestionCategoryDefinition> Categories { get; protected set; }
        public List<AnswerDefinition> Answers { get; protected set; }
        public Lock Lock { get; protected set; }
        public ITradeValue Reward { get; protected set; }

        public QuestionDefinition(int id, int correctAnswerId, List<QuestionCategoryDefinition> categories, List<AnswerDefinition> answers, Lock lockObject, ITradeValue reward)
        {
            this.Id = id;
            this.CorrectAnswerId = correctAnswerId;
            this.Categories = categories;
            this.Answers = answers;
            this.Lock = lockObject;
            this.Reward = reward;
        }
    }
}
